From faaae520c98af1c27ca1e97ca8f33655ec6b575e Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Tue, 4 Dec 2012 16:53:06 +0100 Subject: [PATCH] Don't queue resize for hidden widgets without a size group queue_resize basically tells the parent widget that it may need to pick a different size/layout. However, for a hidden child widget that should never be needed. It may be that the widget is in a sizegroup that has ignore_hidden == FALSE though, so it may affect the size group calculations. However, if a widget is not visible and not in a size group then its safe to avoid the resize, as the widget will be resized on becoming visible anyway. This avoids a lot of size allocation for hidden things like menus and tooltips. --- gtk/gtkwidget.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 9141a707f7..1350af5ec6 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -4654,7 +4654,9 @@ gtk_widget_queue_resize (GtkWidget *widget) if (gtk_widget_get_realized (widget)) gtk_widget_queue_draw (widget); - _gtk_size_group_queue_resize (widget, 0); + if (gtk_widget_get_visible (widget) || + widget->priv->have_size_groups) + _gtk_size_group_queue_resize (widget, 0); } /** -- 2.30.2